作用 | |
---|---|
1 | 基本属性 |
a.dtype |
数组元素类型 float32,uint8,... |
a.shape |
数组形状 (m,n,o,...) |
a.size |
数组元素数 |
a.itemsize |
每个元素占字节数 |
a.nbytes |
所有元素占的字节 |
a.ndim |
数组维度 |
2 | 形状相关 |
a.flat |
所有元素的迭代器 |
a.flatten() |
返回一个1维数组的复制 |
a.ravel() |
返回一个1维数组,高效 |
a.resize(new_size) |
改变形状 |
a.swapaxes(axis1, axis2) |
交换两个维度的位置 |
a.transpose(*axex) |
交换所有维度的位置 |
a.T |
转置,a.transpose() |
a.squeeze() |
去除所有长度为1的维度 |
3 | 填充复制 |
a.copy() |
返回数组的一个复制 |
a.fill(value) |
将数组的元组设置为特定值 |
4 | 转化 |
a.tolist() |
将数组转化为列表 |
a.tostring() |
转换为字符串 |
a.astype(dtype) |
转化为指定类型 |
a.byteswap(False) |
转换大小字节序 |
a.view(type_or_dtype) |
生成一个使用相同内存,但使用不同的表示方法的数组 |
5 | 复数 |
a.imag |
虚部 |
a.real |
实部 |
a.conjugate() |
复共轭 |
a.conj() |
复共轭(缩写) |
6 | 保存 |
a.dump(file) |
将二进制数据存在file中 |
a.dump() |
将二进制数据表示成字符串 |
a.tofile(fid, sep="",format="%s") |
格式化ASCⅡ码写入文件 |
7 | 查找排序 |
a.nonzero() |
返回所有非零元素的索引 |
a.sort(axis=-1) |
沿某个轴排序 |
a.argsort(axis=-1) |
沿某个轴,返回按排序的索引 |
a.searchsorted(b) |
返回将b中元素插入a后能保持有序的索引值 |
8 | 元素数学操作 |
a.clip(low, high) |
将数值限制在一定范围内 |
a.round(decimals=0) |
近似到指定精度 |
a.cumsum(axis=None) |
累加和 |
a.cumprod(axis=None) |
累乘积 |
9 | 约简操作 |
a.sum(axis=None) |
求和 |
a.prod(axis=None) |
求积 |
a.min(axis=None) |
最小值 |
a.max(axis=None) |
最大值 |
a.argmin(axis=None) |
最小值索引 |
a.argmax(axis=None) |
最大值索引 |
a.ptp(axis=None) |
最大值减最小值 |
a.mean(axis=None) |
平均值 |
a.std(axis=None) |
标准差 |
a.var(axis=None) |
方差 |
a.any(axis=None) |
只要有一个不为0,返回真,逻辑或 |
a.all(axis=None) |
所有都不为0,返回真,逻辑与 |
from numpy import *
a = array([[0, 1, 2, 3], [4, 5, 6, 7]])
a
数组元素属性:
a.dtype
形状:
a.shape
元素数目:
a.size
元素占字节大小:
a.itemsize
所有元素所占字节:
a.nbytes
数据维度:
a.ndim
for row in a:
print row
所有元素的迭代器:
for elt in a.flat:
print elt
所有元素组成的一维数组,按照行排列:
a.flatten()
a.ravel()
重新改变形状:
a.resize((4,2))
a
交换这两个轴的顺序:
a.swapaxes(0,1)
转置:
a.transpose()
转置:
a.T
a2 = array([1,2,3])
a2.shape
a2.resize((1,3,1))
a2.shape
去除长度为1的维度:
a2 = a2.squeeze()
a2.shape
复制:
b = a.copy()
b
复制不影响原来的数组:
b[0][0] = -1
b # First value changed
a # original not changed because b is a copy
填充:
b.fill(4)
b
转化为列表:
a.tolist()
转化为字符串:
a.tostring()
改变数组元素类型:
a.astype(float)
b = a.copy()
b.byteswap(False)
将它看成16位整数:
a.view(dtype=int16)
实部:
b = array([1+2j, 3+4j, 5+6j])
b.real
虚部:
b.imag
共轭:
b.conj()
b.conjugate()
保存成文本:
a.dump("file.txt")
字符串:
a.dumps()
写入文件:
a.tofile('foo.csv', sep=',', format="%s")
非零元素的索引:
a.nonzero()
排序:
b = array([3,2,7,4,1])
b.sort()
b
排序的索引位置:
b = array([2,3,1])
b.argsort(axis=-1)
将 b
插入 a
中的索引,使得 a
保持有序:
a = array([1,3,4,6])
b = array([0,2,5])
a.searchsorted(b)
限制在一定范围:
a = array([[4,1,3],[2,1,5]])
a.clip(0,2)
近似:
a = array([1.344, 2.449, 2.558])
a.round(decimals=2)
累加和:
a = array([[4,1,3],[2,1,5]])
a.cumsum(axis=None)
累乘积:
a.cumprod(axis=None)
求和:
a = array([[4,1,3],[2,1,5]])
a.sum(axis=None)
求积:
a.prod(axis=None)
最小值:
a.min(axis=None)
最大值:
a.max(axis=None)
最小值索引:
a.argmin(axis=None)
最大值索引:
a.argmax(axis=None)
最大间隔:
a.ptp(axis=None)
均值:
a.mean(axis=None)
标准差:
a.std(axis=None)
方差:
a.var(axis=None)
是否有非零元素:
a.any(axis=None)
是否全部非零:
a.all()
删除生成的文件:
import os
os.remove('foo.csv')
os.remove('file.txt')